package bidhub

class AuctionTagLib {
	
	static namespace = "auction"
	
	/**
	* @author rocco
	*
	* checks if user has highest bid and displays bid-form if not
	*
	* Usage in template: <auction:bidForm auction="${ auctionInstance }"/>
	* Requires partial template "/bid/_bidForm.gsp"
	*/
   def bidForm = { attrs ->
	   if (attrs.auction.user.id == session.user?.id){
		   //TODO: define what to display for auction creator
		   out << "<p>Das ist deine eigene Auktion. Du kannst nicht auf deine eigenen Auktionen bieten, kannst aber uner MEINE AUKTIONEN gerne verfolgen wie auf deine Auktionen geboten wird.</p>"
	   }
	   else if (attrs.auction.hasEnded && attrs.auction.bids){
		   out << "<p>Auktion beendet. Das hoechste Gebot hatte ${ attrs.auction.highestBid?.user.login }</p>"
	   }
	   else if (attrs.auction.hasEnded){
		   out << "<p>Auktion beendet. Es gab keine Gebote.</p>"
	   }
	   else if (session.user && attrs.auction.highestBid?.user?.id == session.user?.id ){
		   // expression would be true when user not logged in and no bids available -> requires additional check for session.user
		   out << "<p>Yay! Du hast mit ${ attrs.auction.highestBid?.bidAmount } das hoechste Gebot!</p>"
	   }
	   else{
		   out << render(template:'/bid/bidForm')
	   }
   }

}
